It is frequently necessary to track the position of a motor or other actuator in feedback, servo or similar systems. In automotive air conditioning systems, for example, a DC permanent magnet motor is typically used to drive a ventilation door so that hot and cold air flows are mixed together in such proportions that a desired temperature of ventilation air results. In these and other actuator control systems, a feedback signal is typically provided to indicate the position of the actuator or motor. The feedback signal is used as an error signal in a control loop, wherein the control loop is employed in a known manner to force the error signal to zero. The generation of accurate motor or actuator position information is accordingly paramount in maintaining an accurate control system.
One known technique for tracking actuator position utilizes a stationary balancing resistor having a moveable wiper attached to an actuator arm. As the arm rotates or otherwise moves, the wiper moves over the resistor. The resistance of the balancing resistor thus changes with position of the actuator arm, and an electrical signal proportional to the arm position is thereby generated. This position determining technique, however, has a number of problems associated therewith. For example, the accuracy of the electrical signal is typically poor, thereby limiting the accuracy of the feedback loop system. Moreover, drive motors in such systems are typically prohibitively expensive due to the variable resistor circuit requirement. Further, at least one additional external wire is needed in this application for directing the variable resistor signal back to the control loop, thereby reducing the reliability of the system and increasing its cost. Further still, the variable resistor signal is, by its nature, sensitive to noise over a broad frequency spectrum.
Another known technique for determining actuator or motor position utilizing circuitry for detecting and counting motor commutation pulses is disclosed in U.S. Pat. No. 5,132,602, an embodiment of which is illustrated in FIG. 1. Referring to FIG. 1, a motor drive circuit 12 is used to drive or otherwise move a DC permanent magnet motor 10 by applying a DC voltage across it. This DC voltage generates an average current which fluctuates as a result of the motor commutations. A typical motor current generated by the motor 10 of FIG. 1 is illustrated in FIG. 2 wherein the motor current has a continuously varying waveform. However, the motor current is periodically interrupted due to the action of the motor brushes wherein these interruptions result in steep pulses 30 and 32 in the motor current wave form.
The motor current is converted to a voltage at node 14 through the use of a resistor R.sub.SENSE1 connected to ground potential, or a current sense transformer. The voltage signal 16 is coupled to an inverter 18 via capacitor C1 and the resulting inverted signal 22 is applied to a filter and amplifier circuit 24. The resulting voltage signal 22 in conjunction with the amplifier and filter produce enough amplitude to trigger a comparator function of circuit 24 on each commutation of the motor 10. The comparator output is provided to a one shot circuit 25 which generates a pulse 26 that remains active until the electrical commutation signal has decayed, thereby assuring one pulse per commutation event. Pulse waveform 26 is supplied to a microprocessor 28 which includes a pulse counter 27 that increments (or decrements) a count value when the motor 10 moves in one direction as a pulse occurs. The pulse counter 27 provides a control signal to a drive control circuit 29 of microprocessor 28 which, in turn, feeds back the control signal to the motor drive circuit 12 to thereby control motor 10 to the desired position.
The motor position control system of FIG. 1 eliminates several problems associated with the variable resistor application described above, but still has several problems associated therewith. For example, a current sense transformer is typically prohibitively expensive and has a significant variation in operational characteristics over temperature, and so a sense resistor R.sub.SENSE1 is typically used in such applications. Moreover, under motor brake conditions, the motor current circulates within the loop of the motor 10 and the driver circuit 12, thereby making this condition very difficult to sense using R.sub.SENSE1. Further, the circuitry just described with respect FIG. 1 is generally operable to drive motor 10 in only a single direction, and a second resistor R.sub.SENSE2, capacitor C2 and inverter circuit 20 are typically required, as shown in phantom in FIG. 1, for bi-directional control of motor 10.
Yet another known system for tracking the position of an actuator or motor is described in U.S. Pat. No. 5,514,977, and one embodiment of such a circuit is illustrated in FIGS. 3 and 4. In this implementation, a motor drive circuit 12 is utilized, as discussed above, to drive motor 10 wherein a sense resistor R.sub.SENSE is positioned in series between the motor drive circuit 12 and motor 10 to thereby produce a motor voltage signal at circuit node 34. The opposite end of motor 10 is connected to a capacitor C2, the opposite end of which is connected to a coupling resistor R.sub.COUPLING, which is connected to ground potential 36. Circuit node 34 is connected to the common connection of C2 and R.sub.COUPLING, and to one end of a capacitor C1. The opposite end of C1 is applied to one input 40 of an amplifier A1, wherein the opposite input of amplifier A1 is connected to a reference potential defined by resistors R3 and R4. The signal at the input of input 40 rides on a second reference signal established by resistors R1 and R2, wherein R1 and R3 are connected to a suitable voltage reference V.sub.REG 38, and resistors R2 and R4 are connected to ground potential 36. Dual outputs of amplifier A1 are supplied to inputs of a second amplifier A2 which converts the signals to a signal output at amplifier output 44 which is itself connected to an input of a third amplifier A3 having another input connected to a second reference voltage V.sub.REF. Dual outputs of amplifier A3, an example of which is shown at 50 and 52, are connected to inputs 46 and 48 of amplifier A4, which is shown in FIG. 4. An output of amplifier A4 is provided to a non-inverting input of a comparator 90, wherein comparator 90 includes an inverting input connected to voltage reference V.sub.REF. A single output of comparator 90 is provided to a latch circuit 92, the output of which is provided to a one shot circuit 96. The output 94 of one shot circuit 96 provides a pulse train which is counted by a counter circuit similar to that described with reference to FIG. 1. Amplifier A4 is a full-wave rectifier circuit, so bi-directional signals are sensed. Furthermore, because the sense resistor R.sub.SENSE is disposed in series between motor 10 and motor drive circuit 12, the circuit is sensitive during motor braking operation.
The implementation illustrated and described with respect to FIGS. 3 and 4 eliminate several of the problems associated with the systems illustrated in FIGS. 1 and 2, but the circuit of FIGS. 3 and 4 still has a number of problems associated therewith. For example, under a motor braking condition, if both outputs of the motor drive circuit 12 are pulled low (which is preferable to minimize noise) the sense resistor output signal deviates significantly below ground. External blocking capacitor C1 is therefore required to eliminate the large negative transient associated with this condition. This blocking capacitor requires an additional input pad on the integrated circuit which is large in area and results in a potential reliability problem. Moreover, a resistor R.sub.SENSE in series with the motor 10 limits the maximum torque that may be applied to a load. If a higher current motor is used, a series resistor may not be acceptable due to motor start up requirements. Additionally, in the circuit of FIGS. 3 and 4, all of the system gain is applied prior to the comparator 90 whereby any circuit DC offsets are multiplied by this gain and will result in sufficient variations in circuit sensitivity between the positive and negative pulses. Depending on which direction such offsets occur, this may cause real pulses to be missed or may allow noise to generate undesired false pulses. Positional errors result in either case. Still another problem associated with the series resistor R.sub.SENSE is the increased sensitivity of the sensing circuit to electromagnetic interference which results in additional false pulses and positional errors. Such a series resistor R.sub.SENSE coupled with the inductance of the motor 10 further causes a large amplitude, high speed transient signal to be generated whenever the motor is either started or stopped in one direction. In other words, a large spike is generated whenever power is applied or removed from the output of the motor drive circuit 12 connected to sense resistor R.sub.SENSE. However, if this output is grounded while the other output switches, then no spike is generated on the sense resistor R.sub.SENSE. Therefore, these "false start pulses" and "false stop pulses" are generated only in one motor direction. These false pulses have a wide bandwidth and are difficult to filter out, although it is possible to remove these pulses algorithmically by inhibiting the one shot circuit 96 whenever the appropriate motor drive output switches states. This technique, however, does not entirely address the problem since actual motor commutations may occur when starting or stopping motor 10. These artificial missing pulses have a directional bias, and can accordingly result in significant positional errors over time.
What is therefore needed is improved circuitry for determining actuator or motor position which eliminates or at least minimizes the above-described problems associated with prior art systems.